
%%%%%%% 初始化变量 %%%%%%%%%
clear clc
recvData = zeros(1,30);
AA = zeros(1,208);
BB = zeros(1,208);
CC = zeros(1,208);
%%%%%%% 建立链接 %%%%%%%%%

obj1 = instrfind('Type', 'tcpip', 'RemoteHost', 'loaclhost', 'RemotePort', 9002, 'Tag', '');
if isempty(obj1)
    obj1 = tcpip('localhost', 9002);
else
    fclose(obj1);
    obj1 = obj1(1);
end
fopen(obj1);

%%%%%%% MB轮询等待NJ的准备接受信号 %%%%%%%
while ( recvData(1)~=1 || recvData(2)~=2 || recvData(3)~=3 || recvData(4)~=4 || recvData(5)~=5 ) 
    try AA = fread(obj1,208);
        BB = dec2hex(AA);   
        CC = num2str(BB);
        a26 = [CC(208,:) CC(207,:) CC(206,:) CC(205,:) CC(204,:) CC(203,:) CC(202,:) CC(201,:)];
        a25 = [CC(200,:) CC(199,:) CC(198,:) CC(197,:) CC(196,:) CC(195,:) CC(194,:) CC(193,:)];
        a24 = [CC(192,:) CC(191,:) CC(190,:) CC(189,:) CC(188,:) CC(187,:) CC(186,:) CC(185,:)];
        a23 = [CC(184,:) CC(183,:) CC(182,:) CC(181,:) CC(180,:) CC(179,:) CC(178,:) CC(177,:)];
        a22 = [CC(176,:) CC(175,:) CC(174,:) CC(173,:) CC(172,:) CC(171,:) CC(170,:) CC(169,:)];
        a21 = [CC(168,:) CC(167,:) CC(166,:) CC(165,:) CC(164,:) CC(163,:) CC(162,:) CC(161,:)];
        a20 = [CC(160,:) CC(159,:) CC(158,:) CC(157,:) CC(156,:) CC(155,:) CC(154,:) CC(153,:)];
        a19 = [CC(152,:) CC(151,:) CC(150,:) CC(149,:) CC(148,:) CC(147,:) CC(146,:) CC(145,:)];
        a18 = [CC(144,:) CC(143,:) CC(142,:) CC(141,:) CC(140,:) CC(139,:) CC(138,:) CC(137,:)];
        a17 = [CC(136,:) CC(135,:) CC(134,:) CC(133,:) CC(132,:) CC(131,:) CC(130,:) CC(129,:)];
        a16 = [CC(128,:) CC(127,:) CC(126,:) CC(125,:) CC(124,:) CC(123,:) CC(122,:) CC(121,:)];   
        a15 = [CC(120,:) CC(119,:) CC(118,:) CC(117,:) CC(116,:) CC(115,:) CC(114,:) CC(113,:)];
        a14 = [CC(112,:) CC(111,:) CC(110,:) CC(109,:) CC(108,:) CC(107,:) CC(106,:) CC(105,:)];
        a13 = [CC(104,:) CC(103,:) CC(102,:) CC(101,:) CC(100,:) CC(99,:) CC(98,:) CC(97,:)];
        a12 = [CC(96,:) CC(95,:) CC(94,:) CC(93,:) CC(92,:) CC(91,:) CC(90,:) CC(89,:)];
        a11 = [CC(88,:) CC(87,:) CC(86,:) CC(85,:) CC(84,:) CC(83,:) CC(82,:) CC(81,:)];
        a10 = [CC(80,:) CC(79,:) CC(78,:) CC(77,:) CC(76,:) CC(75,:) CC(74,:) CC(73,:)];
        a9 = [CC(72,:) CC(71,:) CC(70,:) CC(69,:) CC(68,:) CC(67,:) CC(66,:) CC(65,:)];
        a8 = [CC(64,:) CC(63,:) CC(62,:) CC(61,:) CC(60,:) CC(59,:) CC(58,:) CC(57,:)];
        a7 = [CC(56,:) CC(55,:) CC(54,:) CC(53,:) CC(52,:) CC(51,:) CC(50,:) CC(49,:)];
        a6 = [CC(48,:) CC(47,:) CC(46,:) CC(45,:) CC(44,:) CC(43,:) CC(42,:) CC(41,:)];   
        a5 = [CC(40,:) CC(39,:) CC(38,:) CC(37,:) CC(36,:) CC(35,:) CC(34,:) CC(33,:)];
        a4 = [CC(32,:) CC(31,:) CC(30,:) CC(29,:) CC(28,:) CC(27,:) CC(26,:) CC(25,:)];
        a3 = [CC(24,:) CC(23,:) CC(22,:) CC(21,:) CC(20,:) CC(19,:) CC(18,:) CC(17,:)];
        a2 = [CC(16,:) CC(15,:) CC(14,:) CC(13,:) CC(12,:) CC(11,:) CC(10,:) CC(9,:)];
        a1 = [CC(8,:) CC(7,:) CC(6,:) CC(5,:) CC(4,:) CC(3,:) CC(2,:) CC(1,:)];

        recvData(1) = hex2dec(a1);   %��ƴ�Ӻ��16�����ַ�תΪ����
        recvData(2) = hex2dec(a2);
        recvData(3) = hex2dec(a3);
        recvData(4) = hex2dec(a4);
        recvData(5) = hex2dec(a5);
        recvData(6) = hex2dec(a6);  
        recvData(7) = hex2dec(a7);
        recvData(8) = hex2dec(a8);
        recvData(9) = hex2dec(a9);
        recvData(10) = hex2dec(a10);
        recvData(11) = hex2dec(a11); 
        recvData(12) = hex2dec(a12);
        recvData(13) = hex2dec(a13);
        recvData(14) = hex2dec(a14);
        recvData(15) = hex2dec(a15);
        recvData(16) = hex2dec(a16);  
        recvData(17) = hex2dec(a17);
        recvData(18) = hex2dec(a18);
        recvData(19) = hex2dec(a19);
        recvData(20) = hex2dec(a20);
        recvData(21) = hex2dec(a21);  
        recvData(22) = hex2dec(a22);
        recvData(23) = hex2dec(a23);
        recvData(24) = hex2dec(a24);
        recvData(25) = hex2dec(a25);
        recvData(26) = hex2dec(a26);        
        pause(0.1) %ÿ����ͣ0.1S
    catch;pause(1);
    end
end

%%%%%%% MB向NJ发送收到发送准备信号 %%%%%%%
sendData = [6,7,8,9,10];
socketData2 = num2str(sendData);   
socketData3 = strrep(socketData2,' ',',');
socketData4 = strrep(socketData3,',,,',',');
socketData5 = strrep(socketData4,',,',',');
try fprintf(obj1, socketData5);
end
pause(2);

%%%%%%% MB轮询等待NJ的校验码 %%%%%%%
while ( recvData(26)~=111 ) 
    try AA = fread(obj1,208);
        BB = dec2hex(AA);   
        CC = num2str(BB);
        a26 = [CC(208,:) CC(207,:) CC(206,:) CC(205,:) CC(204,:) CC(203,:) CC(202,:) CC(201,:)];
        a25 = [CC(200,:) CC(199,:) CC(198,:) CC(197,:) CC(196,:) CC(195,:) CC(194,:) CC(193,:)];
        a24 = [CC(192,:) CC(191,:) CC(190,:) CC(189,:) CC(188,:) CC(187,:) CC(186,:) CC(185,:)];
        a23 = [CC(184,:) CC(183,:) CC(182,:) CC(181,:) CC(180,:) CC(179,:) CC(178,:) CC(177,:)];
        a22 = [CC(176,:) CC(175,:) CC(174,:) CC(173,:) CC(172,:) CC(171,:) CC(170,:) CC(169,:)];
        a21 = [CC(168,:) CC(167,:) CC(166,:) CC(165,:) CC(164,:) CC(163,:) CC(162,:) CC(161,:)];
        a20 = [CC(160,:) CC(159,:) CC(158,:) CC(157,:) CC(156,:) CC(155,:) CC(154,:) CC(153,:)];
        a19 = [CC(152,:) CC(151,:) CC(150,:) CC(149,:) CC(148,:) CC(147,:) CC(146,:) CC(145,:)];
        a18 = [CC(144,:) CC(143,:) CC(142,:) CC(141,:) CC(140,:) CC(139,:) CC(138,:) CC(137,:)];
        a17 = [CC(136,:) CC(135,:) CC(134,:) CC(133,:) CC(132,:) CC(131,:) CC(130,:) CC(129,:)];
        a16 = [CC(128,:) CC(127,:) CC(126,:) CC(125,:) CC(124,:) CC(123,:) CC(122,:) CC(121,:)];   
        a15 = [CC(120,:) CC(119,:) CC(118,:) CC(117,:) CC(116,:) CC(115,:) CC(114,:) CC(113,:)];
        a14 = [CC(112,:) CC(111,:) CC(110,:) CC(109,:) CC(108,:) CC(107,:) CC(106,:) CC(105,:)];
        a13 = [CC(104,:) CC(103,:) CC(102,:) CC(101,:) CC(100,:) CC(99,:) CC(98,:) CC(97,:)];
        a12 = [CC(96,:) CC(95,:) CC(94,:) CC(93,:) CC(92,:) CC(91,:) CC(90,:) CC(89,:)];
        a11 = [CC(88,:) CC(87,:) CC(86,:) CC(85,:) CC(84,:) CC(83,:) CC(82,:) CC(81,:)];
        a10 = [CC(80,:) CC(79,:) CC(78,:) CC(77,:) CC(76,:) CC(75,:) CC(74,:) CC(73,:)];
        a9 = [CC(72,:) CC(71,:) CC(70,:) CC(69,:) CC(68,:) CC(67,:) CC(66,:) CC(65,:)];
        a8 = [CC(64,:) CC(63,:) CC(62,:) CC(61,:) CC(60,:) CC(59,:) CC(58,:) CC(57,:)];
        a7 = [CC(56,:) CC(55,:) CC(54,:) CC(53,:) CC(52,:) CC(51,:) CC(50,:) CC(49,:)];
        a6 = [CC(48,:) CC(47,:) CC(46,:) CC(45,:) CC(44,:) CC(43,:) CC(42,:) CC(41,:)];   
        a5 = [CC(40,:) CC(39,:) CC(38,:) CC(37,:) CC(36,:) CC(35,:) CC(34,:) CC(33,:)];
        a4 = [CC(32,:) CC(31,:) CC(30,:) CC(29,:) CC(28,:) CC(27,:) CC(26,:) CC(25,:)];
        a3 = [CC(24,:) CC(23,:) CC(22,:) CC(21,:) CC(20,:) CC(19,:) CC(18,:) CC(17,:)];
        a2 = [CC(16,:) CC(15,:) CC(14,:) CC(13,:) CC(12,:) CC(11,:) CC(10,:) CC(9,:)];
        a1 = [CC(8,:) CC(7,:) CC(6,:) CC(5,:) CC(4,:) CC(3,:) CC(2,:) CC(1,:)];

        recvData(1) = hex2dec(a1);   %��ƴ�Ӻ��16�����ַ�תΪ����
        recvData(2) = hex2dec(a2);
        recvData(3) = hex2dec(a3);
        recvData(4) = hex2dec(a4);
        recvData(5) = hex2dec(a5);
        recvData(6) = hex2dec(a6);  
        recvData(7) = hex2dec(a7);
        recvData(8) = hex2dec(a8);
        recvData(9) = hex2dec(a9);
        recvData(10) = hex2dec(a10);
        recvData(11) = hex2dec(a11); 
        recvData(12) = hex2dec(a12);
        recvData(13) = hex2dec(a13);
        recvData(14) = hex2dec(a14);
        recvData(15) = hex2dec(a15);
        recvData(16) = hex2dec(a16);  
        recvData(17) = hex2dec(a17);
        recvData(18) = hex2dec(a18);
        recvData(19) = hex2dec(a19);
        recvData(20) = hex2dec(a20);
        recvData(21) = hex2dec(a21);  
        recvData(22) = hex2dec(a22);
        recvData(23) = hex2dec(a23);
        recvData(24) = hex2dec(a24);
        recvData(25) = hex2dec(a25);
        recvData(26) = hex2dec(a26);        
        pause(0.1) %ÿ����ͣ0.1S
    catch;pause(1);
    end
end

%%%%%%% MB发送NJ带校验码的数据 %%%%%%%
sendData = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222];
socketData2 = num2str(sendData);   
socketData3 = strrep(socketData2,' ',',');
socketData4 = strrep(socketData3,',,,',',');
socketData5 = strrep(socketData4,',,',',');
try fprintf(obj1, socketData5);
end
pause(2);

%%%%%%% 代码 %%%%%%%
% -------------------------------------------------------------------
% 将recvData写到csv中
% recvData = randi(12,1,26);    
filename = '/home/suu/Desktop/input.csv';
fd = fopen(filename, 'w');
fprintf(fd, '%d,',recvData);
% -------------------------------------------------------------------



% -------------------------------------------------------------------
% 读取算好的数据
filename = '/home/suu/Desktop/output.csv';
k = csvread(filename);
% -------------------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% MB向NJ发送发送准备信号 %%%%%%%
sendData = [1,2,3,4,5];
socketData2 = num2str(sendData);   
socketData3 = strrep(socketData2,' ',',');
socketData4 = strrep(socketData3,',,,',',');
socketData5 = strrep(socketData4,',,',',');
try fprintf(obj1, socketData5);
end
pause(2);

%%%%%%% MB等待NJ的准备接受信号 %%%%%%%
while ( recvData(1)~=6 || recvData(2)~=7 || recvData(3)~=8 || recvData(4)~=9 || recvData(5)~=10 ) 
    try AA = fread(obj1,208);
        BB = dec2hex(AA);   
        CC = num2str(BB);
        a26 = [CC(208,:) CC(207,:) CC(206,:) CC(205,:) CC(204,:) CC(203,:) CC(202,:) CC(201,:)];
        a25 = [CC(200,:) CC(199,:) CC(198,:) CC(197,:) CC(196,:) CC(195,:) CC(194,:) CC(193,:)];
        a24 = [CC(192,:) CC(191,:) CC(190,:) CC(189,:) CC(188,:) CC(187,:) CC(186,:) CC(185,:)];
        a23 = [CC(184,:) CC(183,:) CC(182,:) CC(181,:) CC(180,:) CC(179,:) CC(178,:) CC(177,:)];
        a22 = [CC(176,:) CC(175,:) CC(174,:) CC(173,:) CC(172,:) CC(171,:) CC(170,:) CC(169,:)];
        a21 = [CC(168,:) CC(167,:) CC(166,:) CC(165,:) CC(164,:) CC(163,:) CC(162,:) CC(161,:)];
        a20 = [CC(160,:) CC(159,:) CC(158,:) CC(157,:) CC(156,:) CC(155,:) CC(154,:) CC(153,:)];
        a19 = [CC(152,:) CC(151,:) CC(150,:) CC(149,:) CC(148,:) CC(147,:) CC(146,:) CC(145,:)];
        a18 = [CC(144,:) CC(143,:) CC(142,:) CC(141,:) CC(140,:) CC(139,:) CC(138,:) CC(137,:)];
        a17 = [CC(136,:) CC(135,:) CC(134,:) CC(133,:) CC(132,:) CC(131,:) CC(130,:) CC(129,:)];
        a16 = [CC(128,:) CC(127,:) CC(126,:) CC(125,:) CC(124,:) CC(123,:) CC(122,:) CC(121,:)];   
        a15 = [CC(120,:) CC(119,:) CC(118,:) CC(117,:) CC(116,:) CC(115,:) CC(114,:) CC(113,:)];
        a14 = [CC(112,:) CC(111,:) CC(110,:) CC(109,:) CC(108,:) CC(107,:) CC(106,:) CC(105,:)];
        a13 = [CC(104,:) CC(103,:) CC(102,:) CC(101,:) CC(100,:) CC(99,:) CC(98,:) CC(97,:)];
        a12 = [CC(96,:) CC(95,:) CC(94,:) CC(93,:) CC(92,:) CC(91,:) CC(90,:) CC(89,:)];
        a11 = [CC(88,:) CC(87,:) CC(86,:) CC(85,:) CC(84,:) CC(83,:) CC(82,:) CC(81,:)];
        a10 = [CC(80,:) CC(79,:) CC(78,:) CC(77,:) CC(76,:) CC(75,:) CC(74,:) CC(73,:)];
        a9 = [CC(72,:) CC(71,:) CC(70,:) CC(69,:) CC(68,:) CC(67,:) CC(66,:) CC(65,:)];
        a8 = [CC(64,:) CC(63,:) CC(62,:) CC(61,:) CC(60,:) CC(59,:) CC(58,:) CC(57,:)];
        a7 = [CC(56,:) CC(55,:) CC(54,:) CC(53,:) CC(52,:) CC(51,:) CC(50,:) CC(49,:)];
        a6 = [CC(48,:) CC(47,:) CC(46,:) CC(45,:) CC(44,:) CC(43,:) CC(42,:) CC(41,:)];   
        a5 = [CC(40,:) CC(39,:) CC(38,:) CC(37,:) CC(36,:) CC(35,:) CC(34,:) CC(33,:)];
        a4 = [CC(32,:) CC(31,:) CC(30,:) CC(29,:) CC(28,:) CC(27,:) CC(26,:) CC(25,:)];
        a3 = [CC(24,:) CC(23,:) CC(22,:) CC(21,:) CC(20,:) CC(19,:) CC(18,:) CC(17,:)];
        a2 = [CC(16,:) CC(15,:) CC(14,:) CC(13,:) CC(12,:) CC(11,:) CC(10,:) CC(9,:)];
        a1 = [CC(8,:) CC(7,:) CC(6,:) CC(5,:) CC(4,:) CC(3,:) CC(2,:) CC(1,:)];

        recvData(1) = hex2dec(a1);   %��ƴ�Ӻ��16�����ַ�תΪ����
        recvData(2) = hex2dec(a2);
        recvData(3) = hex2dec(a3);
        recvData(4) = hex2dec(a4);
        recvData(5) = hex2dec(a5);
        recvData(6) = hex2dec(a6);  
        recvData(7) = hex2dec(a7);
        recvData(8) = hex2dec(a8);
        recvData(9) = hex2dec(a9);
        recvData(10) = hex2dec(a10);
        recvData(11) = hex2dec(a11); 
        recvData(12) = hex2dec(a12);
        recvData(13) = hex2dec(a13);
        recvData(14) = hex2dec(a14);
        recvData(15) = hex2dec(a15);
        recvData(16) = hex2dec(a16);  
        recvData(17) = hex2dec(a17);
        recvData(18) = hex2dec(a18);
        recvData(19) = hex2dec(a19);
        recvData(20) = hex2dec(a20);
        recvData(21) = hex2dec(a21);  
        recvData(22) = hex2dec(a22);
        recvData(23) = hex2dec(a23);
        recvData(24) = hex2dec(a24);
        recvData(25) = hex2dec(a25);
        recvData(26) = hex2dec(a26);        
        pause(0.1) %ÿ����ͣ0.1S
    catch;pause(1);
    end
end

%%%%%% 算出数据后准备发送 %%%%%%%
% sendData = zeros(1,102);
% D1 = k(1:25);
% D2 = k(26:50);
% core1 = k(51:75);
% core2 = k(76:100);
% for i=1:1:dataNum
%     k(i) = D1(i,1);
%     k(25+i) = core1(i,1);
%     k(50+i) = core2(i,2);    
%     k(75+i) = D2(i,2);       
% end
% sendData = 10*k;
% sendData(101) = dataNum;
% sendData(102) = 333;


k = 10*k;
k(101) = 100;
k(102) = 333;

socketData2 = num2str(k);   
socketData3 = strrep(socketData2,' ',',');
socketData4 = strrep(socketData3,',,,',',');
socketData5 = strrep(socketData4,',,',',');
try fprintf(obj1, socketData5);
end
pause(2);






        


        


